posix_bragi = cxxbragi.process(protos/'posix/posix.bragi')

src = [
	'src/cgroupfs.cpp',
	'src/clocks.cpp',
	'src/coredump.cpp',
	'src/device.cpp',
	'src/devices/full.cpp',
	'src/devices/helout.cpp',
	'src/devices/kmsg.cpp',
	'src/devices/null.cpp',
	'src/devices/random.cpp',
	'src/devices/urandom.cpp',
	'src/devices/zero.cpp',
	'src/firmware/dmi.cpp',
	'src/firmware/dt.cpp',
	'src/drvcore.cpp',
	'src/epoll.cpp',
	'src/eventfd.cpp',
	'src/exec.cpp',
	'src/extern_fs.cpp',
	'src/extern_socket.cpp',
	'src/fifo.cpp',
	'src/file.cpp',
	'src/fs.cpp',
	'src/gdbserver.cpp',
	'src/inotify.cpp',
	'src/interval-timer.cpp',
	'src/main.cpp',
	'src/memfd.cpp',
	'src/net.cpp',
	'src/netlink/nl-socket.cpp',
	'src/netlink/nlctrl.cpp',
	'src/netlink/uevent.cpp',
	'src/observations.cpp',
	'src/ostrace.cpp',
	'src/pidfd.cpp',
	'src/process.cpp',
	'src/procfs.cpp',
	'src/pts.cpp',
	'src/requests.cpp',
	'src/requests/common.cpp',
	'src/requests/process.cpp',
	'src/requests/filesystem.cpp',
	'src/requests/memory.cpp',
	'src/requests/socket.cpp',
	'src/requests/timer.cpp',
	'src/requests/special-files.cpp',
	'src/requests/system.cpp',
	'src/requests/fd.cpp',
	'src/requests/uid-gid.cpp',
	'src/signalfd.cpp',
	'src/subsystem/acpi.cpp',
	'src/subsystem/block.cpp',
	'src/subsystem/drm.cpp',
	'src/subsystem/generic.cpp',
	'src/subsystem/input.cpp',
	'src/subsystem/net.cpp',
	'src/subsystem/nvme.cpp',
	'src/subsystem/pci.cpp',
	'src/subsystem/power_supply.cpp',
	'src/subsystem/usbmisc.cpp',
	'src/subsystem/usb/attributes.cpp',
	'src/subsystem/usb/usb.cpp',
	'src/sysfs.cpp',
	'src/timerfd.cpp',
	'src/tmp_fs.cpp',
	'src/un-socket.cpp',
	'src/util.cpp',
	'src/vfs.cpp',
	posix_bragi
]

executable('posix-subsystem', src,
	dependencies : [ mbus_proto_dep, fs_proto_dep, posix_extra_dep, clock_proto_dep, kerncfg_proto_dep, hw_proto_dep, ostrace_proto_dep, usb_proto_dep, frigg, core_dep ],
	install : true
)
